Micron Document




Algorithme de Gram-Schmidt
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
En algèbre linéaire, dans un espace préhilbertien (c'est-à-dire un espace vectoriel sur le corps des réels ou celui des complexes, muni d'un produit scalaire), le procédé ou algorithme de Gram-Schmidtcite-ref-1[1] est un algorithme pour construire, à partir d'une famille libre finie, une base orthonormée du sous-espace qu'elle engendre. On peut aussi utiliser le procédé de Gram-Schmidt sur une famille infinie dénombrable de vecteurs. Ceci permet de démontrer l'existence d'une base hilbertienne si l'espace est séparable.

Contents


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Énoncé

Précisément, en notant N = {0,...,p} avec p dans ℕ :

Théorème — Si ( x n ) n ∈ ∈ N {\displaystyle (x_{n})_{n\in N}\,} est une famille libre d'un espace préhilbertien, il existe une et une seule famille orthonormée ( e n ) n ∈ ∈ N {\displaystyle (e_{n})_{n\in N}\,} telle que :

• V e c t ( e 0 , … … , e n ) = V e c t ( x 0 , … … , x n ) {\displaystyle {\rm {Vect}}(e_{0},\ldots ,e_{n})={\rm {Vect}}(x_{0},\ldots ,x_{n})\,} pour tout n
• les produits scalaires ( e n | x n ) {\displaystyle (e_{n}|x_{n})\,} sont strictement positifs pour tout n

On oublie souvent la seconde condition, qui assure l'unicité. Elle permet de parler de la famille orthonormalisée de Gram-Schmidt associée à ( x n ) n ∈ ∈ N {\displaystyle (x_{n})_{n\in N}\,} .

L'étape générale de l'algorithme consiste à soustraire au vecteur vj+1 son projeté orthogonal sur le sous-espace engendré par v0,...,vj. On s'appuie sur la famille orthonormale déjà construite pour le calcul de ce projeté.

Cette méthode a été publiée par Jørgen Pedersen Gram en 1883 et reformulée par Erhard Schmidt en 1907, mais on la trouve déjà dans des travaux de 1816 de Laplacecite-ref-2[2].

Applications

• Le procédé d'orthonormalisation de Gram-Schmidt donne constructivement l'existence de bases orthonormées pour tout espace euclidien ou hermitien. Cet algorithme est ainsi souvent utilisé en informatique pour effectuer des rendus 3D.
• On peut aussi orthonormaliser la base canonique (1,X, …) de ℝ[X] et obtenir ainsi une famille de polynômes orthogonaux.
• Le procédé de Schmidt peut être utilisé dans la décomposition QR d'une matricecite-ref-3[3].

Procédé de Gram-Schmidt

Nous définissons l'opérateur de projection orthogonale sur une droite vectorielle dirigée par le vecteur u parcite-ref-4[4] :

p r o j u ( v ) = ⟨ ⟨ u , v ⟩ ⟩ ⟨ ⟨ u , u ⟩ ⟩ u . {\displaystyle \mathrm {proj} _{\mathbf {u} }\,(\mathbf {v} )={\langle \mathbf {u} ,\mathbf {v} \rangle \over \langle \mathbf {u} ,\mathbf {u} \rangle }\mathbf {u} .}

Le procédé de Gram-Schmidt est alors :

Avec :

• ⟨ ⟨ ⋅ ⋅ , ⋅ ⋅ ⟩ ⟩ {\displaystyle \langle \cdot ,\cdot \rangle } , le produit scalaire dans l'espace considéré
v1, ..., vk, un ensemble de vecteurs non liés
u1, ..., uk, un ensemble de vecteurs orthogonaux deux à deux
e1, ..., ek, l'ensemble de vecteurs orthonormaux deux à deux recherché

Démonstration

La démonstration du résultat se fait par récurrence, en montrant à chaque étape que le vecteur uk est orthogonal aux vecteurs construits aux étapes précédentes.

• À l'étape 1, il n'y a qu'un seul vecteur, donc la propriété est vérifiée.
• À l'étape 2, on a, par linéarité à droite du produit scalaire :

⟨ ⟨ u 1 , u 2 ⟩ ⟩ = ⟨ v 1 , v 2 − − ⟨ ⟨ v 1 , v 2 ⟩ ⟩ ⟨ ⟨ v 1 , v 1 ⟩ ⟩ v 1 ⟩ = ⟨ v 1 , v 2 ⟩ − − ⟨ ⟨ v 1 , v 2 ⟩ ⟩ ⟨ ⟨ v 1 , v 1 ⟩ ⟩ ⟨ v 1 , v 1 ⟩ = 0 {\displaystyle \langle \mathbf {u} _{1},\mathbf {u} _{2}\rangle =\left\langle \mathbf {v} _{1},\mathbf {v} _{2}-{\frac {\langle \mathbf {v} _{1},\mathbf {v} _{2}\rangle }{\langle \mathbf {v} _{1},\mathbf {v} _{1}\rangle }}\mathbf {v} _{1}\right\rangle =\left\langle \mathbf {v} _{1},\mathbf {v} _{2}\right\rangle -{\frac {\langle \mathbf {v} _{1},\mathbf {v} _{2}\rangle }{\langle \mathbf {v} _{1},\mathbf {v} _{1}\rangle }}\left\langle \mathbf {v} _{1},\mathbf {v} _{1}\right\rangle =0}

donc (u1, u2) sont bien orthogonaux

• À l'étape k, supposons donc que u1, ..., uk–1 sont bien orthogonaux deux à deux. Alors, toujours par linéarité à droite du produit scalaire :

∀ ∀ i ≠ ≠ k , ⟨ ⟨ u i , u k ⟩ ⟩ = ⟨ u i , v k − − ∑ ∑ j = 1 k − − 1 ⟨ ⟨ u j , v k ⟩ ⟩ ⟨ ⟨ u j , u j ⟩ ⟩ u j ⟩ = ⟨ u i , v k ⟩ − − ∑ ∑ j = 1 k − − 1 ⟨ ⟨ u j , v k ⟩ ⟩ ⟨ ⟨ u j , u j ⟩ ⟩ ⟨ u i , u j ⟩ = ⟨ u i , v k ⟩ − − ⟨ ⟨ u i , v k ⟩ ⟩ ⟨ ⟨ u i , u i ⟩ ⟩ ⟨ u i , u i ⟩ = 0 {\displaystyle \forall i\neq k,\langle \mathbf {u} _{i},\mathbf {u} _{k}\rangle =\left\langle \mathbf {u} _{i},\mathbf {v} _{k}-\sum _{j=1}^{k-1}{\frac {\langle \mathbf {u} _{j},\mathbf {v} _{k}\rangle }{\langle \mathbf {u} _{j},\mathbf {u} _{j}\rangle }}\mathbf {u} _{j}\right\rangle =\left\langle \mathbf {u} _{i},\mathbf {v} _{k}\right\rangle -\sum _{j=1}^{k-1}{\frac {\langle \mathbf {u} _{j},\mathbf {v} _{k}\rangle }{\langle \mathbf {u} _{j},\mathbf {u} _{j}\rangle }}\left\langle \mathbf {u} _{i},\mathbf {u} _{j}\right\rangle =\left\langle \mathbf {u} _{i},\mathbf {v} _{k}\right\rangle -{\frac {\langle \mathbf {u} _{i},\mathbf {v} _{k}\rangle }{\langle \mathbf {u} _{i},\mathbf {u} _{i}\rangle }}\left\langle \mathbf {u} _{i},\mathbf {u} _{i}\right\rangle =0}

Ce qui permet de conclure.

Notes et références

(en)

Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé

«

Gram–Schmidt process

»

(

voir la liste des auteurs

)

.

cite-note-11. 2004Mathématiques Tout-en-un. 2e année MP, Paris, Dunod, 2004, 2e éd., 1279 p. (ISBN 978-2-10-007576-8, BNF 39237416), p. 569
cite-note-22. (en) Gram-Schmidt orthogonalization, dans Earliest Known Uses of Some of the Words of Mathematics (G)
cite-note-33. A. Quarteroni, R. Sacco, F. Saleri, Méthodes numériques pour le calcul scientifique, Programmes en Matlab, éd. Springer, 2000, p. 83 et suiv. Lire en ligne
cite-note-44. La convention choisie pour le produit scalaire hermitien étant ici : linéarité à droite et semi-linéarité à gauche.

• Portail des mathématiques